package com.kfm.base.oop;

public class StaticDemo {

    public static void main(String[] args) {
        /*
            static 表示静态的，可以修饰字段和方法。
            被static修饰的字段或方法属于类，通过类名调用. 也可以被 对象调用 【但是不推荐】
            没有 static 修饰的属于对象，通过对象来调用

            static 成员可以相互调用(使用), non-static(instance)可以互相调用，也可以调用 static 的

            static 成员属于类，多个对象共享。

         */
        // static 成员的调用, 类名.成员
        Cat.name = "tom";
        Cat.catchMouse();

        // instance成员调用， 对象.成员
        Cat cat = new Cat();
        cat.color = '白';

//        cat.sleep();

        Cat cat1 = new Cat();
        cat1.color = '黑';
        cat1.name = "黑猫警长";

        cat.info();
        cat1.info();


        // 对象.static成员 【不推荐】
//        cat.name = "咪";
//        cat.catchMouse();

    }
}
